package com.example.model;

// 定义一个名为 Drug 的公共类，用于表示药品
public class Drug {

    // 定义一个私有字符串类型的变量，用于存储药品的唯一标识符
    private String drugId;
    // 定义一个私有字符串类型的变量，用于存储药品的生产信息，如生产厂家、生产工艺等
    private String productionInfo;
    // 定义一个私有字符串类型的变量，用于存储药品的包装信息，如包装材料、包装规格等
    private String packagingInfo;
    // 定义一个私有字符串类型的变量，用于存储药品的运输信息，如运输方式、运输时间等
    private String transportationInfo;
    // 定义一个私有字符串类型的变量，用于存储药品的销售信息，如销售渠道、销售时间等
    private String salesInfo;

    /**
     * 构造函数，用于初始化药品对象
     * @param drugId 药品的唯一标识符
     * @param productionInfo 药品的生产信息
     * @param packagingInfo 药品的包装信息
     * @param transportationInfo 药品的运输信息
     * @param salesInfo 药品的销售信息
     */
    public Drug(String drugId, String productionInfo, String packagingInfo, String transportationInfo, String salesInfo) {
        // 将传入的药品 ID 赋值给类的 drugId 变量
        this.drugId = drugId;
        // 将传入的生产信息赋值给类的 productionInfo 变量
        this.productionInfo = productionInfo;
        // 将传入的包装信息赋值给类的 packagingInfo 变量
        this.packagingInfo = packagingInfo;
        // 将传入的运输信息赋值给类的 transportationInfo 变量
        this.transportationInfo = transportationInfo;
        // 将传入的销售信息赋值给类的 salesInfo 变量
        this.salesInfo = salesInfo;
    }

    /**
     * 获取药品的唯一标识符
     * @return 药品的唯一标识符
     */
    public String getDrugId() {
        // 返回类的 drugId 变量的值
        return drugId;
    }

    /**
     * 设置药品的唯一标识符
     * @param drugId 要设置的药品唯一标识符
     */
    public void setDrugId(String drugId) {
        // 将传入的药品 ID 赋值给类的 drugId 变量
        this.drugId = drugId;
    }

    /**
     * 获取药品的生产信息
     * @return 药品的生产信息
     */
    public String getProductionInfo() {
        // 返回类的 productionInfo 变量的值
        return productionInfo;
    }

    /**
     * 设置药品的生产信息
     * @param productionInfo 要设置的药品生产信息
     */
    public void setProductionInfo(String productionInfo) {
        // 将传入的生产信息赋值给类的 productionInfo 变量
        this.productionInfo = productionInfo;
    }

    /**
     * 获取药品的包装信息
     * @return 药品的包装信息
     */
    public String getPackagingInfo() {
        // 返回类的 packagingInfo 变量的值
        return packagingInfo;
    }

    /**
     * 设置药品的包装信息
     * @param packagingInfo 要设置的药品包装信息
     */
    public void setPackagingInfo(String packagingInfo) {
        // 将传入的包装信息赋值给类的 packagingInfo 变量
        this.packagingInfo = packagingInfo;
    }

    /**
     * 获取药品的运输信息
     * @return 药品的运输信息
     */
    public String getTransportationInfo() {
        // 返回类的 transportationInfo 变量的值
        return transportationInfo;
    }

    /**
     * 设置药品的运输信息
     * @param transportationInfo 要设置的药品运输信息
     */
    public void setTransportationInfo(String transportationInfo) {
        // 将传入的运输信息赋值给类的 transportationInfo 变量
        this.transportationInfo = transportationInfo;
    }

    /**
     * 获取药品的销售信息
     * @return 药品的销售信息
     */
    public String getSalesInfo() {
        // 返回类的 salesInfo 变量的值
        return salesInfo;
    }

    /**
     * 设置药品的销售信息
     * @param salesInfo 要设置的药品销售信息
     */
    public void setSalesInfo(String salesInfo) {
        // 将传入的销售信息赋值给类的 salesInfo 变量
        this.salesInfo = salesInfo;
    }

    /**
     * 重写 toString 方法，用于返回药品信息的字符串表示
     * @return 包含药品信息的字符串
     */
    @Override
    public String toString() {
        // 构建并返回一个包含药品所有信息的字符串
        return "Drug{" +
                "drugId='" + drugId + '\'' +
                ", productionInfo='" + productionInfo + '\'' +
                ", packagingInfo='" + packagingInfo + '\'' +
                ", transportationInfo='" + transportationInfo + '\'' +
                ", salesInfo='" + salesInfo + '\'' +
                '}';
    }
}